Metric 計量為數值,描述系統在特定時間的某個方面
並且計量會定期收集適用于警示,因為它們可以頻繁地進行取樣,而且可以使用相對簡單的邏輯快速地引發警示
如上圖是在我們這七天Azure Application Insights自動記錄的資料
首先我們得先記住,ApplicationInsights.TelemetryClient.TrackMetric不是傳送計量的慣用方法
我們最好是彙總一段時間的計量再把它送出,而不是一直把它送出
並且可以使用GetMetric()來取得可供存取SDK預先彙總功能的計量物件
但...如果我們需要要執行自己的預先匯總邏輯,可以使用TrackMetric()方法來傳送產生的匯總
範例如下:
var sample = new MetricTelemetry();
sample.Name = "test metric";
sample.Value = 55;
telemetryClient.TrackMetric(sample);
只要插入上列的程式碼片段就可以了
但這邊要注意一點,必須在方法上加上Obsolete
這個Attribute
再來讓我們發行他
接著讓我們看一下執行後的結果,這邊我們會需要查詢customMetric這張表
上圖所看到的HeartBeatState是由於我們有啟用心跳功能,
所以每15分鐘Azure會自動傳送name=HeartBeatState的自訂計量
這邊最常被應用的有兩個欄位:一個是valueSum另一個是valueCount
valueSum是測量結果的總和。當我們把它除以valueCount的時候,可以得到平均值
customMetrics
| project valueSum / valueCount
valueCount則是彙總到這個trackMetric(..)呼叫的測量數目
簡單來說...就是每一次Request裡有參雜的TrackMetric呼叫次數